/**
 * 文件服务模块 - 处理文件上传、删除等操作
 */

/**
 * 获取文件列表
 * @returns {Promise<Array>} 文件列表
 */
export function getFileList() {
  return new Promise((resolve) => {
    // 这里应该调用API获取用户的文件列表
    // 此处简单返回示例数据
    setTimeout(() => {
      resolve([
        {
          name: '葵花宝典.doc',
          preview: '/static/images/doc-preview.png'
        },
        {
          name: 'ima知识库使用指南.xls',
          preview: '/static/images/doc-preview.png'
        }
      ])
    }, 500)
  })
}

/**
 * 上传文件
 * @param {string} filePath - 文件路径
 * @param {string} [customFileName] - 自定义文件名（可选）
 * @returns {Promise} 上传结果
 */
export function uploadFile(filePath, customFileName) {
  return new Promise((resolve, reject) => {
    // 实际项目中应该调用API上传文件
    // 此处模拟上传过程
    setTimeout(() => {
      try {
        // 从路径中提取文件名，如果提供了自定义文件名则使用它
        const fileName = customFileName || filePath.substring(filePath.lastIndexOf('/') + 1)
        
        resolve({
          success: true,
          fileName: fileName,
          preview: '/static/images/doc-preview.png'
        })
      } catch (error) {
        reject(error)
      }
    }, 1500)
  })
}

/**
 * 删除文件
 * @param {string} fileName - 文件名称
 * @returns {Promise} 删除结果
 */
export function deleteFile(fileName) {
  return new Promise((resolve, reject) => {
    // 实际项目中应该调用API删除文件
    // 此处模拟删除过程
    setTimeout(() => {
      try {
        resolve({
          success: true,
          fileName: fileName
        })
      } catch (error) {
        reject(error)
      }
    }, 500)
  })
}

/**
 * 获取文件类型
 * @param {string} fileName - 文件名称
 * @returns {string} 文件类型描述
 */
export function getFileType(fileName) {
  const extension = fileName.split('.').pop().toLowerCase()
  
  const types = {
    'doc': 'Word文件',
    'docx': 'Word文件',
    'pdf': 'PDF文件',
    'txt': '文本文件',
    'jpg': '图片文件',
    'jpeg': '图片文件',
    'png': '图片文件',
    'gif': '图片文件'
  }
  
  return types[extension] || '未知类型'
} 